// const BASE_URL_TEST = 'http://goapi.sanjitian.cn/api'
// 使用开发测试环境变量
const BASE_URL_TEST = import.meta.env.VITE_BASE_PATH

// # 以前接口规范
// get: 获取数据，删除数据
// post: 修改数据，修改状态，添加数据

// # rest接口规范：使用接口的请求方式+请求的资源路径 （做到接口请求的唯一性）
// get: 获取数据
// post: 添加数据
// put: 修改数据
// patch: 修改单个字段
// delete: 删除数据

// 角色分页列表
export const getRolesPage = async () => {
  try {
    // await语法糖获取数据；需要设置query参数
    const response = await fetch(BASE_URL_TEST + '/roles/page?pageNum=1&pageSize=100', {
      method: 'GET'
    })
    return response.json()
  } catch (error) {
    console.log('error:', error)
  }
}

// 新增角色
export const postRoles = async () => {
  const myHeaders = new Headers()
  // 设置请求携带的数据格式是 JSON 格式
  myHeaders.append('Content-Type', 'application/json')
  // 添加的 自定义的 header 信息（通常用户使用的秘钥会放到这里，后端接受之后用于判断用户是否登录）
  myHeaders.append('Authorization', '2f68dbbf-519d-4f01-9636-e2421b68f379')

  // 数据库是软删除，即将删除的id（delete）改为1,故新增相同角色是不成功

  const newRole = JSON.stringify({
    // 角色ID
    id: 22,
    // 角色名称
    name: '故乡的樱花开了思密达',
    // 角色编码
    code: '22',
    // 排序
    sort: 22,
    // 角色状态（1-正常；0-停用）
    status: 1,
    // 数据权限（0：全部数据，1：部门及子部门数据，2：本部门数据，3：本人数据
    dataScope: 1
  })

  // fetch 配置项
  const requestOptions = {
    // 请求的方式 GET POST DELETE PATCH PUT
    method: 'POST',
    // 设置请求头信息
    headers: myHeaders,
    // 设置请求携带的数据
    body: newRole
  }

  const response = await fetch(BASE_URL_TEST + '/roles', requestOptions)
  console.log(response)

  if (response.ok) {
    return response.json()
  }
}

// 修改角色
export const putRolesRoleId = async () => {
  const myHeaders = new Headers()
  myHeaders.append('Content-Type', 'application/json')

  const changedRole = JSON.stringify({
    id: 22,
    name: '霍君桑之重生大计(。_。)',
    code: '91',
    sort: 8,
    status: 1,
    dataScope: 11
  })

  const requestOptions = {
    method: 'PUT',
    headers: myHeaders,
    body: changedRole
  }

  const response = await fetch(BASE_URL_TEST + '/roles/22', requestOptions)
  console.log(response)

  if (response.ok) {
    return response.json()
  }
}

// 删除角色
export const deleteRolesIds = async () => {
  const myHeaders = new Headers()
  myHeaders.append('User-Agent', 'Apifox/1.0.0 (https://apifox.com)')

  const requestOptions = {
    method: 'DELETE',
    headers: myHeaders
  }

  const response = await fetch(BASE_URL_TEST + '/roles/22', requestOptions)
  console.log(response)

  if (response.ok) {
    return response.json()
  }
}

// 修改角色状态
export const patchRolesRoleIdStatus = async () => {
  const myHeaders = new Headers()
  myHeaders.append('User-Agent', 'Apifox/1.0.0 (https://apifox.com)')

  const requestOptions = {
    method: 'PATCH',
    headers: myHeaders,
  }

  const response = await fetch(BASE_URL_TEST+'/roles/9898/status?status=0',requestOptions)
  console.log(response);

  if (response.ok) {
    return response.json()
  }
  
}
